{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.empty((100,2))\n",
    "X[:, 0] = np.random.uniform(0., 100., size=100)\n",
    "X[:, 1] = 0.75 * X[:, 0] + 3 + np.random.normal(0, 5, size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f11d4cc6790>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:, 0], X[:, 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "pca = PCA(n_components=1)\n",
    "pca.fit(X)\n",
    "X_reduction = pca.transform(X)\n",
    "X_restore = pca.inverse_transform(X_reduction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f11d0824e90>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X_restore[:,0], X_restore[:,1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 手写识别的例子"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import datasets\n",
    "digits = datasets.load_digits()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = digits.data\n",
    "y = digits.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "noisy_digits = X + np.random.normal(0, 4, size=X.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "example_digits = noisy_digits[y==0,:][:10]\n",
    "# digits数据集的target type一共有10类\n",
    "for num in range(1,10):\n",
    "    X_num = noisy_digits[y==num,:][:10]\n",
    "    example_digits = np.vstack([example_digits, X_num])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 64)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "example_digits.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 绘制出这一百个数字\n",
    "def plot_digits(data):\n",
    "    fig, axes = plt.subplots(10, 10, figsize=(10, 10),\n",
    "                            subplot_kw={'xticks' : [], 'yticks' : []},\n",
    "    gridspec_kw=dict(hspace=0.1, wspace=0.1))\n",
    "    for i, ax in enumerate(axes.flat):\n",
    "        ax.imshow(data[i].reshape(8, 8),\n",
    "                 cmap='binary', interpolation='nearest', clim=(0, 16))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 100 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_digits(example_digits)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出上述数字噪音十分大，基本无法辨认出是什么数字，接下来使用PCA降噪"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(copy=True, iterated_power='auto', n_components=0.6, random_state=None,\n",
       "    svd_solver='auto', tol=0.0, whiten=False)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(0.6) # 上述图形的噪音比较大，试试只保留60%的信息，是否能够换来更清晰的图形\n",
    "pca.fit(noisy_digits)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "18"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.n_components_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "components = pca.transform(example_digits)\n",
    "filtered_digits = pca.inverse_transform(components)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 100 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_digits(filtered_digits)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出经过PCA降噪后的图形平滑了很多，更容易进行辨认了。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
